home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 081-090 / amok87 / statistik / liesmich < prev    next >
Text File  |  1993-11-04  |  4KB  |  132 lines

  1. Statistik
  2. =========
  3.  
  4. (C) dec/92 by Matthias Scherrer
  5.  
  6.  
  7. Zuerst  das Uebliche:  Statistik darf nur als Komplett-Packet weitergegeben
  8. werden, d.h.  alle Sourcen und die Dokumentation muessen dabei sein.
  9.  
  10. Statistik  darf  nicht  kommerziell  genutzt werden, und es darf damit kein
  11. Gewinn gemacht werden.
  12.  
  13.  
  14.  
  15. Sinn und Zweck
  16. ==============
  17.  
  18. Immer  wieder  muss  man  z.B.   gemessene oder gerechnete Werte auswerten.
  19. Statistik  hilft  hier.  Die wichtigsten Werte wie Mittelwert, Streuung und
  20. Regression werden aus einem ARRAY berechnet.
  21.  
  22.  
  23. Gebrauch
  24. ========
  25.  
  26. a.) Statistik.mod
  27.  
  28. Das Modul Statistik stellt nur eine Procedure zur Verfuegung: 
  29.  
  30. PROCEDURE DoStat*(VAR x: stat; d: ARRAY OF ARRAY OF LONGREAL);
  31.  
  32. x  ist  dabei  vom  Type  stat (gleich mehr dazu), in dem zweidimensionalem
  33. ARRAY stehen die gemessenen/berechneten Werte.
  34.  
  35. Der Type stat sieht so aus:
  36.  
  37. TYPE  stat* = RECORD
  38.             n*      : INTEGER;    (* Anzahl Werte *)
  39.             Ex*,Ey*,              (* Summe x,y *)
  40.             maxx*,minx*,          (* Groesstes/kleinstes x/y *)  
  41.             maxy*,miny*,
  42.             Ex2*,Ey2*,            (* Summe x^2,y^2 *)
  43.             Exy*,                 (* Summe x*y *)
  44.             mx*, my*,             (* Mittelwert *)
  45.             sx*,sy*,              (* Streuung x,y *)
  46.             b*,c*,                (* lin.Regression y=b*x+c *)
  47.             sb*,sc*,              (* Streuung b,c *)
  48.             r*      : LONGREAL;   (* Korrelationskoeffizient *)
  49.       END;
  50.  
  51.  
  52.  
  53. b.) ReadDat.mod
  54.  
  55. Um  den  Gebrauch zu vereinfachen, habe ich noch das ReadDat.mod beigelegt,
  56. dass  mehr  oder  weniger  ein  (brauchbares)  Abfallprodukt ist.  Auch das
  57. ReadDat.mod stellt nur eine Procedure zur verfuegung:
  58.  
  59. PROCEDURE ReadDatas*(rf: ARRAY OF CHAR; 
  60.                      VAR d: ARRAY OF ARRAY OF LONGREAL): INTEGER;
  61.  
  62. Das  'rf'  ist der Filename (inkl.  Device und Path falls gewuenscht).  das
  63. 'd'  kann  man  nachher  dem Statistik Modul uebergeben.  Als Rueckgabewert
  64. erhaelt man die Anzahl der Daten, die gelesen wurden.
  65.  
  66. Der Aufbau des Datenfiles ist sehr einfach:
  67.  
  68. x1,y1
  69. x2,y2
  70. .
  71. .
  72. .
  73. xn,yn
  74.  
  75. Anstelle  eines  Kommas  kann man auch ein (oder mehrere) Spaces schreiben.
  76. Kommas sind aber besser, da das GNUPlot auch Kommas benutzt.
  77.  
  78. ACHTUNG! Es sind maximal 499 Eintraege erlaubt!
  79.  
  80.  
  81. c.) DoStat.mod
  82.  
  83. Dies  ist  ein Demo-Programm.  Es liest mittels des ReadDat.ReadDatas Werte
  84. aus  einem  ASCII-File.   Danach  werden  mittels dem Statistik.DoStat alle
  85. Werte  berechnet.  Schlussendlich werden die Werte ausgegeben.  Die Ausgabe
  86. kann natuerlich in ein File umgelenkt werden.
  87.  
  88. Syntax: DoStat filename 
  89.  
  90. Z.B.: DoStat dh0:Physik/beispiel.dat >t:auswertung
  91.  
  92. ACHTUNG!   Compiliert  wurde alles mit der Option -38, also fuer 68030/FPU.
  93. Besitzer eines kleineren Prozessors muessen nochmals compilieren.
  94.  
  95.  
  96. GNUPlot
  97. =======
  98. Fuer  die  grafische  Darstellung  ist  das  GNUPlot  ideal  (zu finden auf
  99. Fish-Disks).   Das  ASCII  File,  dass  auch  das DoStat benoetigt, kann im
  100. GNUPlot mit
  101.  
  102. Plot "dh0:Physik/beispiel.dat"
  103.  
  104. ausgegeben werden. Die Regressionsgerade mittels:
  105.  
  106. Plot b*x+c
  107.  
  108. Wobei  b  die  Steigung  und  c  der  y-Achsenabschnitt ist, den das DoStat
  109. berechnet hat.
  110.  
  111. Das ganze kann danach in Vielfaeltigerweise ausgegeben werden (HPGL, EEPIC,
  112. PostScript usw..)
  113.  
  114. Mehr zum GNUPlot steht in der Dokumentation dazu.
  115.  
  116.  
  117. Adresse
  118. =======
  119. Falls  Fehler oder Verbesserungsvorschlaege auftauchen, schreibt mir.  Wenn
  120. ihr  den Source abaendert, lasst es mich bitte wissen.  Der Autor (ich) ist
  121. auch nicht gegen Geldspenden oder sonstigen Support abgeneigt :-).
  122.  
  123. Matthias Scherrer
  124. Baselstrasse 63
  125. 4242 Laufen
  126. Schweiz
  127.  
  128. FIDO: 2:301/707.10
  129. Internet: e9178@ibb.ch  (bis Sommer 1994)
  130.  
  131. -- 29/Dec/92 ms
  132.